/*
 * @lc app=leetcode.cn id=209 lang=java
 *
 * [209] 长度最小的子数组
 */

// @lc code=start
class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int left=0;
        int sum=0;
        int sublength=0;
        int res=Integer.MAX_VALUE;
        for(int right=0;right<nums.length;right++){
            sum+=nums[right];
            while(sum>=target){//控制窗口起始位置移动
                sublength=right-left+1;//窗口大小
                res=Math.min(res, sublength);
                sum-=nums[left++];
            }
        }
        return res==Integer.MAX_VALUE? 0:res; 
    }
}
// @lc code=end

